module popcnt16(
  input  [15:0] in,
  output [ 4:0] out
);

assign out =
  {4'b0,in[ 0]} +
  {4'b0,in[ 1]} +
  {4'b0,in[ 2]} +
  {4'b0,in[ 3]} +
  {4'b0,in[ 4]} +
  {4'b0,in[ 5]} +
  {4'b0,in[ 6]} +
  {4'b0,in[ 7]} +
  {4'b0,in[ 8]} +
  {4'b0,in[ 9]} +
  {4'b0,in[10]} +
  {4'b0,in[11]} +
  {4'b0,in[12]} +
  {4'b0,in[13]} +
  {4'b0,in[14]} +
  {4'b0,in[15]} ;

endmodule
